#ifndef __SORT_H__
#define __SORT_H__


struct merge_list_t {
  void* data;  // 待排序数据
  int num;        // item num
  int size;       // item size
  void* buf;   // tmpbuf 大小和带排序数据相同
  int (*cmp)(const void* a, const void* b);
};

int cmp_u8(const void* a, const void* b);
int cmp_u16(const void* a, const void* b);
int cmp_u32(const void* a, const void* b);
int cmp_i32(const void* a, const void* b);
int cmp_float(const void* a, const void* b);
int cmp_double(const void* a, const void* b);
void mergeSort(struct merge_list_t* list);

#endif
